package quinielas;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import temporadas.Partido;

public class LeeQuinielas {

	
	String tipo;//string que nos dice si es la actual, o la ultima. 
	String url;
	List<Partido> lp = new ArrayList<Partido>();
	String numJ;

	public String getTipo() {
		return tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}

	public String getNumJ() {
		return numJ;
	}

	public void setNumJ(String numJ) {
		this.numJ = numJ;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public List<Partido> getLp() {
		return lp;
	}

	public void setLp(List<Partido> lp) {
		this.lp = lp;
	}

	public LeeQuinielas(String tipo) throws Exception {
		
		this.tipo=tipo;
		
		boolean leepartidos=false;
		boolean leeNumJornada=false;
		boolean leeNumPartido=false;
		
		//usa una url u otra segun le indicamos por parametro
		if(tipo.equals("proxima"))
			url="http://www.onlae.es/quiniela/proximasjornadas.aspx";
		if(tipo.equals("ultima"))
			url="http://www.onlae.es/quiniela/comprobar.aspx";
		
		URL pagina = new URL(url);
		BufferedReader in = new BufferedReader(new InputStreamReader(pagina.openStream()));
	    String entrada;
	    
	    while ((entrada = in.readLine())!= null){
	    	//Partido p = new Partido();
	    	entrada = entrada.trim();//elimina los espacios en blanco
	    	
	    	String datoLocal="";
			String datoVisitante="";
			int num=0;
			if(leeNumJornada){
				numJ=entrada+" ";
				String fecha=in.readLine().trim();
				numJ+=fecha;
				leeNumJornada=false;
			}
			if(leepartidos){
				datoLocal=entrada;
				
				//p.seteCasa(datoLocal);
				in.readLine();
				in.readLine();
				datoVisitante=in.readLine().trim();
				
				//p.seteVisitante(datoVisitante);
				leepartidos=false;
			}	
			if (leeNumPartido){
				num=Integer.parseInt(entrada);
				//p.setNumeroPartido(num);
				leeNumPartido=false;
			}
			
			if(entrada.startsWith("<h2 class=\"sorteo\">")){
				leeNumJornada=true;
			}
			if(entrada.startsWith("<td class=\"equipo\">")){
				leepartidos=true;
			}
			if(entrada.startsWith("<td class=\"numero\">")){
				leeNumPartido=true;
			}
			if(datoLocal != "" && datoVisitante != "" ){
						
	    		this.lp.add(new Partido(datoLocal, datoVisitante, num));
	    		datoLocal = "";
	    		datoVisitante = "";
	    		num=0;
	    		
	    		
	    	}
	    }
	    	    
	    in.close();
	}
	
}
